popover: Be lenient wrt visibility of popovers too close to widget borders
authorCarlos Garnacho <carlosg@gnome.org>
Fri, 12 Jun 2015 09:59:47 +0000 (11:59 +0200)
committerCarlos Garnacho <carlosg@gnome.org>
Fri, 12 Jun 2015 10:07:30 +0000 (12:07 +0200)
The check used to hide the popover if the pointed area fell partly out of
the widget allocation, textviews now can trigger that with text selections
too close to the visible edge, as a small extra area around is now reserved.

The check has been changed to only hide the popover if the pointed area
falls completely outside the widget allocation.

gtk/gtkpopover.c

index c156f8b8b1ac414ef84c462e2adb931122cfb096..1807d655157c1bf03e30b9b53cb5c713f5122430 100644 (file)
@@ -925,8 +925,8 @@ _gtk_popover_update_child_visible (GtkPopover *popover)
 
   gtk_widget_get_allocation (GTK_WIDGET (parent), &allocation);
 
-  if (rect.x < 0 || rect.x + rect.width > allocation.width ||
-      rect.y < 0 || rect.y + rect.height > allocation.height)
+  if (rect.x + rect.width < 0 || rect.x > allocation.width ||
+      rect.y + rect.height < 0 || rect.y > allocation.height)
     gtk_widget_set_child_visible (widget, FALSE);
   else
     gtk_widget_set_child_visible (widget, TRUE);